Increasingly, software applications executed by computers are employed to complete tasks that were previously performed by other machines or manually by people. In this regard, a variety of software applications are currently available to assist in performing a range of tasks including word processing, money management, architectural design and/or manufacturing, etc. In order for tasks to be completed by these and other types of software applications, at least some data is typically input by a user. For example, conventional input devices such as a keyboard, mouse, etc., are included with modern computers so that data may be input into the different software applications available to a user.
In some software applications, information presented on a drawing is input into the computer by a user employing a conventional input device. In these types of systems, an application program processes the input and generates output that assists a user in a variety of ways. For example, some application programs require users to extract information presented on drawings (e.g., blueprints, construction plans, architectural illustrations, and the like) that depict a structure scheduled to be constructed. When the necessary data is entered, the application program processes the data and generates output that describes attributes of the component parts (e.g., type, quantity, etc.) that need to be manufactured to build the structure. Obviously, in this example, accurately extracting and inputting the data into a computer is important as the output produced may, and typically will, be used to make business decisions.
A software application that obtains data extracted from a drawing may be used to make decisions in a variety of contexts. For example, manufacturers or other business entities typically compete in a process known as bidding to acquire potential business. The process of bidding generally includes extracting information from a drawing to determine, among other things, attributes of a structure depicted in the drawing. Since the bidding process is competitive and the results uncertain, it is important to minimize the cost and effort of obtaining this type of data. For example, if mistakes are made in obtaining data used in the bidding process, a user may inaccurately set the price of components that will be manufactured. Moreover, if mistakes are made and a bid is accepted, the wrong components may be manufactured and/or structures that do not comply with specifications depicted in the drawings may be built.
The data used by some software applications may not be accurately entered using conventional input devices or may only be entered through a labor-intensive and time-consuming process. For example, some software applications require a user to identify the angular relationship between two or more elements represented on a drawing. In existing systems, a user typically employs a manual tool, such as a protractor, to measure an angle between the elements. When the angle is known, the user enters a numeric value on a keyboard or similar device to input a value for the measured angle. However, extracting information from a drawing with a manual protractor is prone to errors. In this regard, manual protractor calculations are subject to a variety of error sources, such as lack of protractor precision, manual placement errors, human visual interpretation, and transcription errors. Moreover, the above-described process for extracting information from a drawing and entering the data into a computer is labor intensive and time-consuming.
The example provided above merely describes one type of data input into a software application using an error-prone and labor-intensive process. However, those skilled in the art and others will recognize that other types of data may be input into a computer using the same or similar process, and the description provided above should be construed as exemplary and not limiting. More generally, this Background Section is provided to introduce a selection of concepts in a simplified form and is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.